library(tidyverse)
library(sf)
library(leaflet)
library(htmltools)
library(htmlwidgets)
Sourced from the Cuyahoga County Open Data Portal at https://data-cuyahoga.opendata.arcgis.com/datasets/priority-conservation-areas-ohio-balanced-growth-program
Priority_Conservation <- st_read("https://opendata.arcgis.com/datasets/71f20ffde5a14ac88db5b05390a36455_13.kml") %>%
mutate(acres = as.numeric(st_area(geometry)) / 4046.86)%>%
mutate(name = ifelse(is.na(Name), "unnamed", Name))
Instruction for how to create a custom palette from https://drsimonj.svbtle.com/creating-corporate-colour-palettes-for-ggplot2\ Green palette hex codes from https://www.schemecolor.com/shades-of-green.php
green_colors <- c(
`green1` = "#ACDF87",
`green2` = "#A4DE02",
`green3` = "#68BB59",
`green4` = "#4C9A2A",
`green5` = "#1E5631")
green_cols <- function(...) {
cols <- c(...)
if (is.null(cols))
return (green_colors)
green_colors[cols]}
green_palette <- list(`main` = green_cols("green1", "green2", "green3", "green4", "green5"))
green_pal <- function(palette = "main", reverse = FALSE, ...) {
pal <- green_palette[[palette]]
if (reverse) pal <- rev(pal)
colorRampPalette(pal, ...)
}
Priority_Conservation$size<-
paste(prettyNum(Priority_Conservation$acres, digits = 2), " acres") %>%
lapply(htmltools::HTML)
color_bins <- colorNumeric(palette = green_pal("main")(5),
domain = Priority_Conservation$acres)
map1 <- leaflet(Priority_Conservation) %>%
addProviderTiles(providers$Stamen.TonerLite) %>%
addPolygons(fillColor = color_bins(Priority_Conservation$acres), fillOpacity = 0.75, stroke = FALSE,
highlightOptions=highlightOptions(fillColor = "sandybrown", fillOpacity = 1), label = ~size) %>%
addControl("Ohio Balanced Growth Program Priority Conservation Areas in Cuyahoga County, OH", position = "topright") %>%
addControl('<a href="https://data-cuyahoga.opendata.arcgis.com/datasets/priority-conservation-areas-ohio-balanced-growth-program">Data source</a>',
position = "bottomleft") %>%
addLegend(pal = color_bins,
values = Priority_Conservation$acres,
title = "Acreage of Area",
opacity = 1)
map1